package com.bsoft.gol.hcs.specialist.bean.request;


import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.*;
import java.util.Date;
import java.util.List;

/**
 * 填写人表
 */
public class EditorUserInfo {
    /**
     * <pre>
     * 填写人信息id
     * 表字段 : editor_user_info.user_info_id
     * </pre>
     * 
     */
    private String userInfoId;

    /**
     * <pre>
     * 表单id
     * 表字段 : editor_user_info.questionnaire_id
     * </pre>
     * 
     */
    private String questionnaireId;

    /**
     * <pre>
     * 填写人id
     * 表字段 : editor_user_info.user_id
     * </pre>
     * 
     */
    private String userId;

    /**
     * <pre>
     * 填写人姓名
     * 表字段 : editor_user_info.user_name
     * </pre>
     * 
     */
    private String userName;

    /**
     * <pre>
     * 手机号
     * 表字段 : editor_user_info.phone_num
     * </pre>
     * 
     */
    private String phoneNum;

    /**
     * <pre>
     * 填写时间
     * 表字段 : editor_user_info.write_time
     * </pre>
     * 
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date writeTime;

    /**
     * <pre>
     * 调查员id
     * 表字段 : editor_user_info.investigator_id
     * </pre>
     * 
     */
    private String investigatorId;

    /**
     * <pre>
     * 问卷方式
     * 表字段 : editor_user_info.questionnaire_way
     * </pre>
     * 
     */
    private Byte questionnaireWay;

    /**
     * <pre>
     * 调查员姓名
     * 表字段 : editor_user_info.investigator_name
     * </pre>
     * 
     */
    private String investigatorName;

    /**
     * <pre>
     * 答案状态
     * 表字段 : editor_user_info.answer_state
     * </pre>
     * 
     */
    private Byte answerState;

    /**
     * <pre>
     * 创建人
     * 表字段 : editor_user_info.create_id
     * </pre>
     * 
     */
    private String createId;

    /**
     * <pre>
     * 创建时间
     * 表字段 : editor_user_info.create_time
     * </pre>
     * 
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

//    private List<EditorAnswer> answers;

    private Byte type;

    private String orgId;

    private Date beginTime;
    private Date endTime;

    private Byte ifAbnormal;

    private static final long serialVersionUID = 1L;

    @Transient
    public Byte getType() {
        return type;
    }

    public void setType(Byte type) {
        this.type = type;
    }

//    public List<EditorAnswer> getAnswers() {
//        return answers;
//    }
//
//    public void setAnswers(List<EditorAnswer> answers) {
//        this.answers = answers;
//    }

    /**
     * <pre>
     * 获取 填写人信息id
     * 表字段 : editor_user_info.user_info_id
     * </pre>
     * 
     */
    @Id
    @Column(name = "user_info_id")
    public String getUserInfoId() {
        return userInfoId;
    }

    /**
     * <pre>
     * 设置 填写人信息id
     * 表字段 : editor_user_info.user_info_id
     * </pre>
     * 
     */
    public void setUserInfoId(String userInfoId) {
        this.userInfoId = userInfoId == null ? null : userInfoId.trim();
    }

    /**
     * <pre>
     * 获取 表单id
     * 表字段 : editor_user_info.questionnaire_id
     * </pre>
     * 
     */
    @Basic
    @Column(name = "questionnaire_id")
    public String getQuestionnaireId() {
        return questionnaireId;
    }

    /**
     * <pre>
     * 设置 表单id
     * 表字段 : editor_user_info.questionnaire_id
     * </pre>
     * 
     */
    public void setQuestionnaireId(String questionnaireId) {
        this.questionnaireId = questionnaireId == null ? null : questionnaireId.trim();
    }

    /**
     * <pre>
     * 获取 填写人id
     * 表字段 : editor_user_info.user_id
     * </pre>
     *
     */
    @Basic
    @Column(name = "user_id")
    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }



    /**
     * <pre>
     * 获取 填写人姓名
     * 表字段 : editor_user_info.user_name
     * </pre>
     * 
     */
    @Basic
    @Column(name = "user_name")
    public String getUserName() {
        return userName;
    }

    /**
     * <pre>
     * 设置 填写人姓名
     * 表字段 : editor_user_info.user_name
     * </pre>
     * 
     */
    public void setUserName(String userName) {
        this.userName = userName == null ? null : userName.trim();
    }

    /**
     * <pre>
     * 获取 手机号
     * 表字段 : editor_user_info.phone_num
     * </pre>
     * 
     */
    @Basic
    @Column(name = "phone_num")
    public String getPhoneNum() {
        return phoneNum;
    }

    /**
     * <pre>
     * 设置 手机号
     * 表字段 : editor_user_info.phone_num
     * </pre>
     * 
     */
    public void setPhoneNum(String phoneNum) {
        this.phoneNum = phoneNum == null ? null : phoneNum.trim();
    }

    /**
     * <pre>
     * 获取 填写时间
     * 表字段 : editor_user_info.write_time
     * </pre>
     * 
     */
    @Basic
    @Column(name = "write_time")
    public Date getWriteTime() {
        return writeTime;
    }

    /**
     * <pre>
     * 设置 填写时间
     * 表字段 : editor_user_info.write_time
     * </pre>
     * 
     */
    public void setWriteTime(Date writeTime) {
        this.writeTime = writeTime;
    }

    /**
     * <pre>
     * 获取 调查员id
     * 表字段 : editor_user_info.investigator_id
     * </pre>
     * 
     */
    @Basic
    @Column(name = "investigator_id")
    public String getInvestigatorId() {
        return investigatorId;
    }

    /**
     * <pre>
     * 设置 调查员id
     * 表字段 : editor_user_info.investigator_id
     * </pre>
     * 
     */
    public void setInvestigatorId(String investigatorId) {
        this.investigatorId = investigatorId;
    }

    /**
     * <pre>
     * 获取 问卷方式
     * 表字段 : editor_user_info.questionnaire_way
     * </pre>
     * 
     */
    @Basic
    @Column(name = "questionnaire_way")
    public Byte getQuestionnaireWay() {
        return questionnaireWay;
    }

    /**
     * <pre>
     * 设置 问卷方式
     * 表字段 : editor_user_info.questionnaire_way
     * </pre>
     * 
     */
    public void setQuestionnaireWay(Byte questionnaireWay) {
        this.questionnaireWay = questionnaireWay;
    }

    /**
     * <pre>
     * 获取 调查员姓名
     * 表字段 : editor_user_info.investigator_name
     * </pre>
     * 
     */
    @Basic
    @Column(name = "investigator_name")
    public String getInvestigatorName() {
        return investigatorName;
    }

    /**
     * <pre>
     * 设置 调查员姓名
     * 表字段 : editor_user_info.investigator_name
     * </pre>
     * 
     */
    public void setInvestigatorName(String investigatorName) {
        this.investigatorName = investigatorName == null ? null : investigatorName.trim();
    }

    /**
     * <pre>
     * 获取 答案状态
     * 表字段 : editor_user_info.answer_state
     * </pre>
     * 
     */
    @Basic
    @Column(name = "answer_state")
    public Byte getAnswerState() {
        return answerState;
    }

    /**
     * <pre>
     * 设置 答案状态
     * 表字段 : editor_user_info.answer_state
     * </pre>
     * 
     */
    public void setAnswerState(Byte answerState) {
        this.answerState = answerState;
    }


    /**
     * <pre>
     * 获取 创建人
     * 表字段 : editor_user_info.create_id
     * </pre>
     *
     */
    @Basic
    @Column(name = "create_id")


    public String getCreateId() {
        return createId;
    }

    public void setCreateId(String createId) {
        this.createId = createId;
    }



    /**
     * <pre>
     * 获取 创建时间
     * 表字段 : editor_user_info.create_time
     * </pre>
     * 
     */
    @Basic
    @Column(name = "create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    public Date getCreateTime() {
        return createTime;
    }


    /**
     * <pre>
     * 设置 创建时间
     * 表字段 : editor_user_info.create_time
     * </pre>
     * 
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }



    @Basic
    @Column(name = "if_abnormal")
    public Byte getIfAbnormal() {
        return ifAbnormal;
    }

    public void setIfAbnormal(Byte ifAbnormal) {
        this.ifAbnormal = ifAbnormal;
    }

    private List<EditorAnswer> answers;



    @Transient
    public List<EditorAnswer> getAnswers() {
        return answers;
    }

    public void setAnswers(List<EditorAnswer> answers) {
        this.answers = answers;
    }

    private Integer pageNo ;
    private Integer pageSize ;

    @Transient
    public Integer getPageNo() {
        return pageNo;
    }

    public void setPageNo(Integer pageNo) {
        this.pageNo = pageNo;
    }

    @Transient
    public Integer getPageSize() {
        return pageSize;
    }

    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }

    @Transient
    public String getOrgId() {
        return orgId;
    }

    public void setOrgId(String orgId) {
        this.orgId = orgId;
    }

    @Transient
    public Date getBeginTime() {
        return beginTime;
    }

    public void setBeginTime(Date beginTime) {
        this.beginTime = beginTime;
    }

    @Transient
    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    private List<String> userInfoIdList;

    @Transient
    public List<String> getUserInfoIdList() {
        return userInfoIdList;
    }

    public void setUserInfoIdList(List<String> userInfoIdList) {
        this.userInfoIdList = userInfoIdList;
    }


    private String questionnaireName;

    @Transient
    public String getQuestionnaireName() {
        return questionnaireName;
    }

    public void setQuestionnaireName(String questionnaireName) {
        this.questionnaireName = questionnaireName;
    }
}